Nguồn gốc và phát triển Altair BASIC

Bill Gates nhớ lại rằng, khi ông và Paul Allen đọc về Altair trong số ra tháng 1 năm 1975 của tạp chí Popular Electronics, họ hiểu rằng giá máy tính sẽ sớm giảm xuống đến mức bán phần mềm cho máy tính sẽ là một hình thức kinh doanh có lợi nhuận.[7] Gates tin rằng, bằng cách cung cấp một trình thông dịch BASIC cho các máy tính mới, họ có thể khiến các dòng máy này trở nên hấp dẫn hơn đối với những người có sở thích. Họ liên lạc với người sáng lập MITS Ed Roberts, nói với anh rằng họ đang phát triển một trình thông dịch, và hỏi liệu Ed có muốn xem một chương trình mẫu hay không. Điều này bắt chước thực hành ngành công nghiệp kỹ thuật với các thử nghiệm sản phẩm, chỉ thông báo về một sản phẩm không tồn tại để đánh giá sự quan tâm. Roberts đồng ý gặp họ trong một vài tuần sau đó, vào tháng 3 năm 1975.

Lúc đó Gates và Allen không có trình thông dịch nào, hay thậm chí cả một hệ thống Altair để phát triển và thử nghiệm hệ thống. Tuy nhiên, Allen đã viết một giả lập Intel 8008 cho liên doanh trước đây của họ Traf-O-Data chạy trên một máy tính chia sẻ thời gian PDP-10. Ông đã phỏng theo chương trình mô phỏng này dựa trên hướng dẫn lập trình Altair, và họ đã phát triển và thử nghiệm viết trình thông dịch trên PDP-10 của Harvard. Các nhân viên của Harvard không hài lòng khi họ phát hiện ra điều này, nhưng không có chính sách bằng văn bản nào đề cập đến việc sử dụng máy tính.[8] Gates và Allen đã mua thời gian sử dụng máy tính từ một dịch vụ chia sẻ thời gian ở Boston để hoàn tất việc gỡ lỗi chương trình BASIC của họ. Họ đã thuê sinh viên Harvard David Davidoff để viết các thủ tục số học dấu phẩy động cho trình thông dịch, một tính năng không có sẵn trong nhiều phần mềm cạnh tranh.

Trình thông dịch đã hoàn thành, bao gồm hệ thống I/O và trình soạn thảo theo dòng của riêng nó, chỉ vừa với bốn kilobytes bộ nhớ, để lại nhiều khoảng trống cho chương trình được diễn giải. Để chuẩn bị cho bản demo, họ đã lưu trữ trình thông dịch đã hoàn thành trên một băng đục lỗ mà Altair có thể đọc, và Paul Allen bay tới Albuquerque.

Khi máy bay sắp tới nơi, Allen nhận ra rằng họ đã quên viết một chương trình bootstrap để đọc băng đục lỗ vào bộ nhớ. Viết bằng ngôn ngữ máy 8080, Allen hoàn thành chương trình trước khi máy bay hạ cánh. Chỉ sau khi họ nạp chương trình vào Altair và thấy một dấu nhắc hỏi về kích thước bộ nhớ của hệ thống thì Gates và Allen mới biết rằng trình thông dịch của họ đã làm việc trên phần cứng Altair. Sau đó, họ đặt cược xem ai có thể viết chương trình bootstrap ngắn nhất, và Gates đã thắng.[9][10]

Tài liệu tham khảo

WikiPedia: Altair BASIC http://news.microsoft.com/2000/05/09/microsoft-fas... http://www.swtpc.com/mholley/Altair/Altair_Basic.h... http://www.virtualaltair.com/virtualaltair.com/PDF... http://www.virtualaltair.com/virtualaltair.com/vac... http://www.thocp.net/companies/microsoft/microsoft... http://altairbasic.org/ http://startup.nmnaturalhistory.org/gallery/notesV... http://startup.nmnaturalhistory.org/gallery/story.... https://blogs.msdn.com/b/vbteam/archive/2009/06/24... https://americanhistory.si.edu/comphist/gates.htm#...